package com.hw.common.framework.validator;

import java.util.Locale;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.MessageSourceAccessor;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;

/*****
 * <pre>
 * 类名称：InitializingBeanValidtorMessageService
 * 类描述：初始化bean校验器信息
 * 创建人：JokenWang
 * 创建时间：2014年12月29日 下午3:42:28
 * </pre>
 * 
 * @version 1.0.0
 */
public class InitializingBeanValidtorMessageService
{
    private static final Logger logger         = LoggerFactory.getLogger(InitializingBeanValidtorMessageService.class);
    
    private static final String I18N_ROP_ERROR = "classpath:META-INF/i18n/messages";
    
    /****
     * (non-Javadoc)
     * 
     * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
     *      <pre>
     * 功能：
     * 创建人：JokenWang
     * 创建时间：2014年12月30日 下午12:51:27
     * </pre>
     * @version 1.0.0
     */
    public InitializingBeanValidtorMessageService()
    {
        // hibernate validator 显示中文
        Locale.setDefault(Locale.SIMPLIFIED_CHINESE);
        ReloadableResourceBundleMessageSource bundleMessageSource = new ReloadableResourceBundleMessageSource();
        bundleMessageSource.setBasenames(I18N_ROP_ERROR);
        logger.info("加载资源文件：" + I18N_ROP_ERROR);
        
        MessageSourceAccessor messageSourceAccessor = new MessageSourceAccessor(bundleMessageSource, Locale.getDefault());
        BeanValidatorMessages.setErrorMessageSourceAccessor(messageSourceAccessor);
    }
}
